翻訳と辞書
Words near each other
・ Memento (Soel album)
・ Memento Materia
・ Memento mori
・ Memento Mori (band)
・ Memento Mori (Buck-Tick album)
・ Memento mori (disambiguation)
・ Memento Mori (film)
・ Memento Mori (Flyleaf album)
・ Memento Mori (novel)
・ Memento Mori (short story)
・ Memento Mori (The Bastard Fairies album)
・ Memento Mori (The X-Files)
・ Memento Mori (video game)
・ Memento Mori Theatricks
・ Memento Park
Memento pattern
・ Memento Project
・ Memeplex
・ Memepool
・ Memerambi, Queensland
・ Memeskia
・ MemeStreams
・ Memet Ali Alabora
・ Memetic algorithm
・ Memetic engineering
・ Memetic institutionalism
・ Memetics
・ Memetracker
・ Memewar
・ Memex


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Memento pattern : ウィキペディア英語版
Memento pattern
The memento pattern is a software design pattern that provides the ability to restore an object to its previous state (undo via rollback).
The memento pattern is implemented with three objects: the ''originator'', a ''caretaker'' and a ''memento''. The originator is some object that has an internal state. The caretaker is going to do something to the originator, but wants to be able to undo the change. The caretaker first asks the originator for a memento object. Then it does whatever operation (or sequence of operations) it was going to do. To roll back to the state before the operations, it returns the memento object to the originator. The memento object itself is an opaque object (one which the caretaker cannot, or should not, change). When using this pattern, care should be taken if the originator may change other objects or resources - the memento pattern operates on a single object.
Classic examples of the memento pattern include the seed of a pseudorandom number generator (it will always produce the same sequence thereafter when initialized with the seed state) and the state in a finite state machine.
== Java Example ==

The following Java program illustrates the "undo" usage of the Memento Pattern.

import java.util.List;
import java.util.ArrayList;
class Originator

public void restoreFromMemento(Memento memento)

public static class Memento
}
}

class Caretaker

The output is:
Originator: Setting state to State1
Originator: Setting state to State2
Originator: Saving to Memento.
Originator: Setting state to State3
Originator: Saving to Memento.
Originator: Setting state to State4
Originator: State after restoring from Memento: State3

This example uses a String as the state, which is an immutable object in Java. In real-life scenarios the state will
almost always be an object, in which case a copy of the state must be done.
It must be said that the implementation shown has a drawback: it declares an internal class. It would be better if the memento strategy could apply on more than one object.
There are mainly three other ways to achieve Memento:
# Serialization.
# A class declared in the same package.
# The object can also be accessed via a proxy, which can achieve any save/restore operation on the object.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Memento pattern」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.